<?php
/**
 * Вывод многовеных сообщений в системе, вернет или список сформированный или 
 * false
 * 
 * @author nrnwest@gmail.com
 * @uses viewHelper Arm_View_Helper
 */
class Arm_View_Helper_FlashMessender extends Zend_View_Helper_Abstract
{    
    /**
     * Вывод многовеных сообщений в системе, вернет сформированное сообщение,
     * или false, если $retrunArray = true то вернет масив сообщений
     * если таковый есть.
     * 
     * @param bool $returnArray true возвращает массив сообщений если они существуют.
     * @return string|array|false
     */
    public function flashMessender ($returnArray = false)
    {
        if (false === Zend_Controller_Action_HelperBroker::hasHelper('FlashMessenger') and Zend_Session::sessionExists() === false) {
            return false;
        }
        $flashMessenger = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger');
        $messages = $flashMessenger->getMessages();
        if ($messages === array()) {
            $messages = $flashMessenger->getCurrentMessages();
            $flashMessenger->clearCurrentMessages();
        }
        if($messages === array()) {
            return false;
        }
        if($returnArray === true) {
            return $messages;
        }
        $str = '<ul id="id_systemMessage">';
        foreach ($messages as $v) {
            $str .= '<li>' . $v .'</li>';
        }
        $str .= '</ul>';
        return $str;
    }
}